package com.tangyh.basic.sign.bean;
/**
 * @description  轩辕API
 * @author  澄泓
 * @date  2020/10/27 14:14
 * @version JDK1.7
 */
public class Signfield {

    /**
     * 是否自动执行签署，默认false
     * true-自动签署，
     * false-手动签署。
     * 注：
     * 1、平台方自动签署时，该字段必传，传入true；
     * 2、SaaS API标准版产品，平台用户不支持自动签署
     */
    private boolean autoExecute;
    /**
     * 企业主体签约类型：2-机构盖章；
     * 注：
     * 1、签署主体是个人时，无需传入该参数，传入会导致无法正常签署
     * 2、签署主体是企业时，该字段必传，传入2
     */
    private String actorIndentityType;
    private String fileId;
    /**
     印章id，通过e签宝官网获取对应实名主体下的印章编号。
     注：
     1、平台方自动盖章签署时，仅限传入企业公章，不支持指定企业法定代表人印章；
     2、平台方自动盖章签署时，如果指定企业授权印章，签署后的签名信息，印章样式和数字证书均为授权企业主体所有，详细参考【印章授权说明】
     */
    private String sealId;
    /**
     * 签署方式，个人签署时支持多种签署方式，0-手绘签名  ，1-模板印章签名，多种类型时逗号分割，为空不限制
     */
    private String sealType;

    private String handDrawnWay;
    /**
     * 签署类型，0-不限，1-单页签署，2-骑缝签署，默认1
     */
    private Integer signType;
    private PosBean posBean;
    /**
     * 签署区的宽度
     */
    private Integer width;
    /**
     * 是否需要添加签署日期，0-禁止 1-必须 2-不限制，默认0
     */
    private Integer signDateBeanType;
    /**
     * 签署日期信息
     */
    private SignDateBean signDateBean;
    /**
     * 签约主体账号标识，即本次签署对应任务的归属方，默认是签署操作人个人
     */
    private String authorizedAccountId;
    /**
     * 签署操作人个人账号标识，即操作本次签署的个人
     */
    private String signerAccountId;
    private int order;


    public boolean isAutoExecute() {
        return autoExecute;
    }

    public Signfield setAutoExecute(boolean autoExecute) {
        this.autoExecute = autoExecute;
        return this;
    }

    public String getActorIndentityType() {
        return actorIndentityType;
    }

    public Signfield setActorIndentityType(String actorIndentityType) {
        this.actorIndentityType = actorIndentityType;
        return this;
    }

    public String getFileId() {
        return fileId;
    }

    public Signfield setFileId(String fileId) {
        this.fileId = fileId;
        return this;
    }

    public String getSealId() {
        return sealId;
    }

    public Signfield setSealId(String sealId) {
        this.sealId = sealId;
        return this;
    }

    public String getSealType() {
        return sealType;
    }

    public Signfield setSealType(String sealType) {
        this.sealType = sealType;
        return this;
    }

    public Integer getSignType() {
        return signType;
    }

    public Signfield setSignType(Integer signType) {
        this.signType = signType;
        return this;
    }

    public PosBean getPosBean() {
        return posBean;
    }

    public Signfield setPosBean(PosBean posBean) {
        this.posBean = posBean;
        return this;
    }

    public Integer getWidth() {
        return width;
    }

    public Signfield setWidth(Integer width) {
        this.width = width;
        return this;
    }

    public Integer getSignDateBeanType() {
        return signDateBeanType;
    }

    public Signfield setSignDateBeanType(Integer signDateBeanType) {
        this.signDateBeanType = signDateBeanType;
        return this;
    }

    public SignDateBean getSignDateBean() {
        return signDateBean;
    }

    public Signfield setSignDateBean(SignDateBean signDateBean) {
        this.signDateBean = signDateBean;
        return this;
    }

    public String getAuthorizedAccountId() {
        return authorizedAccountId;
    }

    public Signfield setAuthorizedAccountId(String authorizedAccountId) {
        this.authorizedAccountId = authorizedAccountId;
        return this;
    }

    public String getSignerAccountId() {
        return signerAccountId;
    }

    public Signfield setSignerAccountId(String signerAccountId) {
        this.signerAccountId = signerAccountId;
        return this;
    }

    public int getOrder() {
        return order;
    }

    public Signfield setOrder(int order) {
        this.order = order;
        return this;
    }

    public String getHandDrawnWay() {
        return handDrawnWay;
    }

    public Signfield setHandDrawnWay(String handDrawnWay) {
        this.handDrawnWay = handDrawnWay;
        return this;
    }
}
